package org.eclipse.client;
import hu.newphrox.java.io.NewByteArrayOutputStream;
import com.google.gwt.user.client.Window;
import java.io.ByteArrayInputStream;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.ImageLoader;
import org.eclipse.swt.main.SWT;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
public class SWTClient implements EntryPoint {
public void onModuleLoad() {
//exportLoadSampleMethod(this);
loadSample();
}
// private native void exportLoadSampleMethod(SWTClient instance) /*-{
// $wnd.tiffany = function() {
// return instance.@org.eclipse.client.SWTClient::loadSample()();
// };
// }-*/;
public void loadSample(){
byte[] Tiff = ImageSamples.getJPEGSample();
ByteArrayInputStream TiffStream = new ByteArrayInputStream(Tiff);
//Base64Utils.fromBase64("1234");
RootPanel rootPanel = RootPanel.get();
final TextBox txtbxUsername = new TextBox();
txtbxUsername.setStyleName("grey");
txtbxUsername.setText("E-mail c\u00EDm");
// txtbxUsername.setStyleName("grey", true);
rootPanel.add(txtbxUsername, 42, 571);
//txtbxUsername.setText("0x"+Integer.toHexString(Tiff[0])+" 0x"+Integer.toHexString(Tiff[1]));
final TextBox txtbxByte = new TextBox();
txtbxByte.setStyleName("grey");
txtbxByte.setText("E-mail c\u00EDm");
// txtbxByte.setStyleName("grey", true);
rootPanel.add(txtbxByte,42,471);
//txtbxByte.setText("byte 0x"+Integer.toHexString(TiffStream.read()));
final TextBox txtbxImage = new TextBox();
txtbxImage.setStyleName("grey");
txtbxImage.setText("E-mail c\u00EDm");
// txtbxImage.setStyleName("grey", true);
rootPanel.add(txtbxImage,42,371);
// Window.alert("before image load");
ImageLoader imLoader = new ImageLoader();
ImageData[] im = imLoader.load(TiffStream);
// Window.alert("before image load finished");
NewByteArrayOutputStream outTiffStream = new NewByteArrayOutputStream();
//imLoader.save(outTiffStream, SWT.IMAGE_TIFF);
txtbxImage.setText("byte 0x"+Integer.toHexString(im[0].data[2]));
final TextArea txtArea = new TextArea();
txtArea.setWidth("300");
txtArea.setHeight("300");
txtArea.setStyleName("grey");
// txtArea.setStyleName("grey", true);
rootPanel.add(txtArea,242,371);
//txtArea.setText(Base64.byteArrayToBase64(outTiffStream.toByteArray()));
// byte[] Gif = ImageSamples.getGIFSample();
// ByteArrayInputStream GifStream = new ByteArrayInputStream(Gif);
//
// ImageLoader imLoader2 = new ImageLoader();
// ImageData[] im2 = imLoader2.load(GifStream,SWT.IMAGE_GIF);
//
//
// for(int x=11;x<35;x++){
// for(int y=11;y<35;y++){
// im[0].setPixel(x,y,1);
// }
// }
// imLoader.data[0].palette.colors[0].red=255;
// imLoader.data[0].palette.colors[0].green=255;
// imLoader.data[0].palette.colors[0].blue=255;
//
// imLoader.data[0].palette.colors[1].red=0;
// imLoader.data[0].palette.colors[1].green=0;
// imLoader.data[0].palette.colors[1].blue=0;
//imLoader.data[0].palette.invertRGBs();
//imLoader.data[0] = imLoader.data[0].scaledTo(50,-50);
imLoader.data[0].invertImage();
// Window.alert("before image resize");
//imLoader.data[0]=imLoader.data[0].scaledTo(imLoader.data[0].width/2, imLoader.data[0].height/2);
// Window.alert("before image resized");
NewByteArrayOutputStream outGifStream = new NewByteArrayOutputStream();
// Window.alert("before image save");
imLoader.save(outGifStream, SWT.IMAGE_PNG);
// Window.alert("before image saved");
final HTML html = new HTML("<div>szopsz<img src=\"data:image/png;base64," +
Base64.byteArrayToBase64(outGifStream.toByteArray()) +
"\"/>vege</div>");
rootPanel.add(html);
}
}